library(tidyverse)
library(sf)
library(leaflet)
library(htmltools)
library(htmlwidgets)

Downloading Data - Ohio Balanced Growth Program Priority Conservation Areas in Cuyahoga County, OH

Sourced from the Cuyahoga County Open Data Portal at https://data-cuyahoga.opendata.arcgis.com/datasets/priority-conservation-areas-ohio-balanced-growth-program

Priority_Conservation <- st_read("https://opendata.arcgis.com/datasets/71f20ffde5a14ac88db5b05390a36455_13.kml") %>%
  mutate(acres = as.numeric(st_area(geometry)) / 4046.86)%>%
  mutate(name = ifelse(is.na(Name), "unnamed", Name))

Creating a Custom Palette

Instruction for how to create a custom palette from https://drsimonj.svbtle.com/creating-corporate-colour-palettes-for-ggplot2\ Green palette hex codes from https://www.schemecolor.com/shades-of-green.php

green_colors <- c(
  `green1`      = "#ACDF87",
  `green2`      = "#A4DE02",
  `green3`      = "#68BB59",
  `green4`      = "#4C9A2A",
  `green5`      = "#1E5631")

green_cols <- function(...) {
  cols <- c(...)

  if (is.null(cols))
    return (green_colors)

  green_colors[cols]}

green_palette <- list(`main`  = green_cols("green1", "green2", "green3", "green4", "green5"))

green_pal <- function(palette = "main", reverse = FALSE, ...) {
  pal <- green_palette[[palette]]

  if (reverse) pal <- rev(pal)

  colorRampPalette(pal, ...)
}

Creating Map

Priority_Conservation$size<- 
  paste(prettyNum(Priority_Conservation$acres, digits = 2), " acres") %>% 
  lapply(htmltools::HTML)


color_bins <- colorNumeric(palette = green_pal("main")(5),
  domain = Priority_Conservation$acres)

map1 <- leaflet(Priority_Conservation) %>%
  addProviderTiles(providers$Stamen.TonerLite) %>%
  addPolygons(fillColor = color_bins(Priority_Conservation$acres), fillOpacity = 0.75, stroke = FALSE, 
              highlightOptions=highlightOptions(fillColor = "sandybrown", fillOpacity = 1), label = ~size) %>%
  addControl("Ohio Balanced Growth Program Priority Conservation Areas in Cuyahoga County, OH", position = "topright") %>%
addControl('<a href="https://data-cuyahoga.opendata.arcgis.com/datasets/priority-conservation-areas-ohio-balanced-growth-program">Data source</a>',
             position = "bottomleft") %>%
  addLegend(pal = color_bins,
             values = Priority_Conservation$acres,
             title = "Acreage of Area",
            opacity = 1)
map1

Save as Separate HTML

saveWidget(map1, file = "Assignment6Map.html")